import axios from 'axios'

// 将 表单格式数据 转换成对象 或者 将对象格式数据 转换成表单格式
import qs from 'qs'


axios.defaults.baseURL = 'http://www.520gongfu.com:9527/api'


// 添加请求拦截器
axios.interceptors.request.use(function(config) {
    // console.log('config:', config);
    // 设置 请求 token 校验
    const token = sessionStorage.getItem('token')
    if (token) {
        config.headers['Authorization'] = token
    }
    // 在发送请求之前做些什么
    return config;
}, function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

/**
 * 获取用户信息
 * */
export const getUserInfo = (callback) => {
    return axios.get('/user/info').then(res => {
        callback && callback(res.data)
    }).catch(err => {
        console.log(err);
    })
}

/**
 * 推荐商品 
 * */

export const getRecommend = (callback) => {
    return axios.get('/product/recommend').then(res => {
        callback && callback(res.data)
    }).catch(err => {
        console.log(err);
    })
}

/**
 * 获取 购物车数据
 * */
export const getCartList = (callback) => {
    return axios.get('/cart/list').then(res => {
        callback && callback(res.data)
    }).catch(err => {
        console.log(err);
    })
}

/**
 * 删除购物车数据 /cart/del
 * */
export const deleteCartItem = (params, callback) => {
    return axios.post('/cart/del', qs.stringify(params)).then(res => {
        callback && callback(res.data)
    }).catch(err => {
        console.log(err);
    })
}

/**
 * 添加购物车数据 /cart/add
 * */
export const cartAdd = (params, callback) => {
    return axios.post('/cart/add', qs.stringify(params)).then(res => {
        callback && callback(res.data)
    }).catch(err => {
        console.log(err);
    })
}